package 操作;

import 实体.会员;
import 实体.dbutils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class 会员_操作 {
    public List<会员> 搜索all() throws SQLException{
        List<会员> list=new ArrayList<>();
        Connection conn=dbutils.getCon();
        PreparedStatement stmt = null;
        ResultSet res = null;
        stmt=conn.prepareStatement("select * from 会员");
        res = stmt.executeQuery();
        list=result(conn,stmt,res);
        dbutils.close(conn,stmt,res);
        return list;
    }

    public List<会员> 增加(String[] input) throws SQLException{
        List<会员> list=new ArrayList<>();
        Connection conn=dbutils.getCon();
        PreparedStatement stmt=null;
        ResultSet res=null;
        stmt=conn.prepareStatement("insert into 会员(姓名,性别,电话) value (?,?,?)");
        for (int i=0;i<input.length;i++){
            stmt.setString(i+1,input[i]);
        }
        int n=stmt.executeUpdate();
        if (n==1){
            System.out.println("插入成功");
        }
        stmt=conn.prepareStatement("select * from 会员");
        res = stmt.executeQuery();
        list=result(conn,stmt,res);
        dbutils.close(conn,stmt,res);
        return list;
    }


    public List<会员> result(Connection con,PreparedStatement stmt,ResultSet res) throws SQLException{
        List<会员> list = new ArrayList<>();
        try{
            while(res.next()){
                String 姓名 = res.getString("姓名");
                String 性别 = res.getString("性别");
                String 电话 = res.getString("电话");
                会员 reader = new 会员(姓名,性别,电话);
                list.add(reader);
            }
        }
        catch(SQLException e){
            e.printStackTrace();
        }
        finally
        {
            dbutils.close(con,stmt,res);
        }
        return list;
    }

    public static void main(String[] args) {
        会员_操作 s=new 会员_操作();
        String[] input=new String[3];
        input[0]="方姣乂";
        input[1]="女";
        input[2]="2020081305";
        try {
           s.增加(input);
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
}
